package com.wyw.hemerocallis.filter;

import com.wyw.hemerocallis.vo.LoginUserInfo;

/**
 * 使用ThreadLocal去单纯存储每一个线程携带的LoginUserInfo信息
 *      一定要及时的清理我们保存到ThreadLocal的用户信息
 *          1、保证没有资源泄露
 *          2、保证线程重用时，不会出现数据源混乱
 * @author Mr Wu    yewen.wu.china@gmail.com
 * <p>
 * Update History:
 * Author        Time            Content
 */
public class AccessContext {

    private static final ThreadLocal<LoginUserInfo> loginUserInfo = new ThreadLocal<>();

    public static LoginUserInfo getLoginInfo() {
        return loginUserInfo.get();
    }

    public static void setLoginUserInfo(LoginUserInfo lui) {
        loginUserInfo.set(lui);
    }

    public static void clearLoginUserInfo() {
        loginUserInfo.remove();
    }

}
